C++ Reactive Programming: Design concurrent and asynchronous applications using the RxCpp library and Modern C++17 by Peter Abraham & Praseed Pai

C++ Reactive Programming: Design concurrent and asynchronous applications using the RxCpp library and Modern C++17 by Peter Abraham & Praseed Pai

Author:Peter Abraham & Praseed Pai [Abraham, Peter]
Language: eng
Format: epub
Tags: COM048000 - COMPUTERS / Systems Architecture / Distributed Systems and Computing, COM051000 - COMPUTERS / Programming / General, COM051070 - COMPUTERS / Programming Languages / C++
Publisher: Packt Publishing
Published: 2018-06-28T23:00:00+00:00


Knuth's solution was a ten-page Pascal program! Doug McIlroy realized the same with just the following shell script:

tr -cs A-Za-z ' n ' | tr A-Z a-z | sor t | uniq -c | sor t -rn | sed ${1}q

So much for the power of command composition.

Advantages of the Stream programming model

Traditional OOP programs model hierarchies well, and processing hierarchies is mostly a difficult process compared to processing a linear collection. In the case of the Stream programming model, we can treat the input as a stream of entities put into a container and the output as a bag of entities, without modifying the input data stream. Using C++ generic programming techniques, we can write container-agnostic code to process streams. Some advantages of this model are:

Stream programming simplifies program logic

Streams can support lazy evaluation and functional style transforms

Streams are better suited for the concurrent programming model (Source Streams are immutable)

We can compose functions to create higher-order functions to process them

Streams facilitate the declarative programming model

They can aggregate, filter, and transform data from different sources

They decouple data sources and the entities that process them

They improve code readability (developers can comprehend code faster)

They can exploit data parallelism and task parallelism

We can leverage hundreds of well-defined Stream operators (algorithms) to process data



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.